package com.neuedu.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface RegisterMapper {


    //根据某一个状态和姓名、病历号取得当天患者信息（分页、查询）
    List<Map<String, Object>> getPatientByState(
            @Param("employee_id")Integer employee_id,
            @Param("case_number")String case_number,
            @Param("real_name")String real_name,
            @Param("nowPageNumber")Integer nowPageNumber,
            @Param("pageSize")Integer pageSize,
            @Param("visit_state")String visit_state);
    //根据某一个状态和姓名、病历号取得当天患者数量（分页、查询）
    Integer getPatientByStateCount(
            @Param("employee_id")Integer employee_id,
            @Param("case_number")String case_number,
            @Param("real_name")String real_name,
            @Param("visit_state")String visit_state);
    //根据ID更改患者挂号状态
    int updateStateById(Integer id,Integer visit_state);
    //得到退号患者信息(所有已挂号状态为1的患者信息、分页)
    List<Map<String,Object>> getPagePatientByState(String case_number,String real_name,Integer nowPageNumber,
                                                   Integer pageSize,Integer visit_state);
    //得到退号患者数量(所有已挂号状态为1的患者信息)
    int getPagePatientByStateCount(String case_number,String real_name,Integer visit_state);
    //添加注册信息
    int addRegister(Map<String,Object> map);
    //已挂号数量统计  按照日期、午别、医生编号统计   visit_state状态为1/2/3
    String getAlreadyRegisterCount(String visitDate,String noon,String employeeId);
    //得到最大病历号
    String getMaxCaseNumber();
}
